#ifndef __RESULTADO_H__
#define __RESULTADO_H__

#include "descriptor_alumno.h"
#include "alumno.h"
#include "Lista.h"
#include "nodo_resultado.h"

class Resultado {

private:

	Lista<NodoResultado*>* listaNodosReultado;

public:

	/**
	 * Postcondiciones: El resultado queda creado con la lista de nodos
	 *                  apuntando a NULL;
	 */
	Resultado();

	/**
	 * Postcondiciones: El resultado queda destruido, eliminandose la lista y sus nodos.
	 */
	~Resultado();

	/**
	 * Postcondiciones: El resultado queda copiado con una nueva lista con
	 *                  los mismos nodos que el utilizado para su creacion.
	 *
	 */
	Resultado(const Resultado&);

	/**
	 * Poscondiciones: El restuldato queda con los mismos valores que el
	 *                 indicado para copiar.
	 */
	Resultado& operator=(const Resultado &);

	/**
	 * Precondiciones: La lista debe exisitir.
	 * Postcondiciones: La lista de nodos queda seteada en la indicada.
	 */
	void setListaNodosResultado(Lista<NodoResultado*>*);

	/**
	 * Postcondiciones: Retorna la lista de nodos resultado.
	 */
	Lista<NodoResultado*>* getListaNodosResultado();
};

#endif /* __RESULTADO_H_ */
